# Flask 的蓝图（Blueprints）是一种组织代码的机制，允许你将 Flask 应用分解成多个模块。这样可以更好地组织应用逻辑，使得应用更具可维护性和可扩展性。
from flask import Blueprint, render_template, request, redirect, url_for,Flask

# yourapp/
# │
# ├── app.py
# ├── auth/
# │   ├── __init__.py
# │   └── routes.py
# │
# └── blog/
#     ├── __init__.py
#     └── routes.py

auth = Blueprint('auth', __name__)

@auth.route('/login')
def login():
    return 'login.html'



@auth.route('/index')
def index():
    
    return 'index.html',404


# 蓝图的错误 只能是蓝图内部函数的错误
@auth.errorhandler(404)
def auth_not_found(error):
    return "权限管理没有这个页面", 404


@auth.before_app_request
def before_request():
    # 执行在每个请求之前的操作
    print('Before request')

    pass

@auth.after_app_request
def after_request(response):
    print('after_request request')
    # 执行在每个请求之后的操作
    return response


    


app = Flask(__name__)



# 导入蓝图
# ###### from auth.routes import auth
# 注册蓝图
app.register_blueprint(auth, url_prefix='/auth')


# @app.errorhandler(404)
# def page_not_found(error):
#     return'404.html', 404


if __name__ == '__main__':
    app.run(debug=True)